CentOS 7
Sponsored Link

Create a Virtual Machine#1
2014/07/11
 
Install GuestOS and create a Virtual Machine. This example shows to install CentOS 7.
[1] Install GuestOS on text mode via network, it's OK on Console or remote connection with Putty and so on. Furthermore, Virtual Machine's images are placed at /var/lib/libvirt/images by default as a Storage Pool, but this example shows to create and use a new Storage Pool.
[root@dlp ~]#
mkdir -p /var/kvm/images
# create a new Storage Pool

[root@dlp ~]#
virt-install \
--name centos7 \
--ram 4096 \
--disk path=/var/kvm/images/centos7.img,size=30 \
--vcpus 2 \
--os-type linux \
--os-variant rhel7 \
--network bridge=br0 \
--graphics none \
--console pty,target_type=serial \
--location 'http://ftp.iij.ad.jp/pub/linux/centos/7/os/x86_64/' \
--extra-args 'console=ttyS0,115200n8 serial'
Starting install...
# start installation
 
The example of options above means like follows. There are many options for others, make sure with "man virt-install".
--name
specify the name of Virtual Machine
--ram
specify the amount of memories of Virtual Machine
--disk path=xxx ,size=xxx
'path=' ⇒ specify the location of disks of Virtual Machine
'size=' ⇒ specify the amount of disks of Virtual Machine
--vcpus
specify the virtual CPUs
--os-type
specify the type of GuestOS
--os-variant
specify the kind of GuestOS - possible to confirm the list with the command below
# osinfo-query os
--network
specify network types of Virtual Machine
--graphics
specify the kind of graphics. if set 'none', it means nographics.
--console
specify the console type
--location
specify the location of installation where from
--extra-args
specify parameters that is set in kernel

[2] Install on text mode, it's the same with common procedure of installation. After finishing installation, reboot first and then login prompt is shown like follwos.
CentOS Linux 7 (Core)
Kernel 3.10.0-123.el7.x86_64 on an x86_64

localhost login:
[3] Move to GuestOS to HostOS with Ctrl + ] key.
Move to HostOS to GuestOS with a command 'virsh console (name of virtual machine)'.
[root@localhost ~]#
# push Ctrl + ]

[root@dlp ~]#
# Host's console
[root@dlp ~]#
virsh console centos7
# move to Guest

Connected to domain www
Escape character is ^]
# Enter key
[root@localhost ~]#
# Guest's console
[4] Because after installing GuestOS from network, it is minimum settings, so it's useful to save it as a template in order to create new virtual machines later.
[root@dlp ~]#
virt-clone --original centos7 --name template --file /var/kvm/images/template.img

Allocating 'template.img'
| 20 GB 01:44
Clone 'template' created successfully.
[root@dlp ~]#
ll /var/kvm/images/template.img
 
# disk image

-rwxr-xr-x 1 root root 32212254720 Jul 11 23:34 /var/kvm/images/template.img
[root@dlp ~]#
ll /etc/libvirt/qemu/template.xml
 
# xml file

-rw------- 1 root root 1843 Jul 11 23:32 /etc/libvirt/qemu/template.xml
[5]
[6] Define a new Storage Pool.
[root@dlp ~]#
mkdir /etc/libvirt/storage

[root@dlp ~]#
vi /etc/libvirt/storage/disk01.xml
 
# create new

<pool type='dir'>
 
# any name you like

  <name>disk01</name>
  <capacity>0</capacity>
  <allocation>0</allocation>
  <available>0</available>
  <source>
  </source>
  <target>
   
# specify a pool directory

    <path>/var/kvm/images</path>
    <permissions>
        <mode>0700</mode>
        <owner>-1</owner>
        <group>-1</group>
    </permissions>
  </target>
</pool>
# define the pool

[root@dlp ~]#
virsh pool-define /etc/libvirt/storage/disk01.xml

Pool disk01 defined from /etc/libvirt/storage/disk01.xml
# start the pool

[root@dlp ~]#
virsh pool-start disk01

Pool disk01 started
# set auto-start

[root@dlp ~]#
virsh pool-autostart disk01

Pool disk01 marked as autostarted
# confirm to show the pool list

[root@dlp ~]#
virsh pool-list

Name                 State      Autostart
-----------------------------------------
disk01               active     yes

# confirm to show the details

[root@dlp ~]#
virsh pool-info disk01

Name:           disk01
UUID:           2de62477-7132-4512-b5d8-003e28da105c
State:          running
Persistent:     yes
Autostart:      yes
Capacity:       197.17 GiB
Allocation:     2.90 GiB
Available:      194.27 GiB
 
Tweet